ECMAScript 2026

ECMAScript 2026 নতুন বৈশিষ্ট্য জানুন

ECMAScript 2026

জাভাস্ক্রিপ্ট 2026-এ নতুন বৈশিষ্ট্য

ECMAScript 2026 রিসোর্স ম্যানেজমেন্টের উন্নতি, অ্যাসিঙ্ক্রোনাস ক্রিয়াকলাপ পরিচালনা এবং ডেটা ম্যানিপুলেশনের উপর দৃষ্টি নিবদ্ধ করে বেশ কয়েকটি বৈশিষ্ট্য উপস্থাপন করে:

⚠️সতর্কতা:

2026 সংস্করণটি এখনও প্রকাশিত হয়নি। এটি সাধারণত জুন মাসে মুক্তি পায়।

নভেম্বর 2025 পর্যন্ত, এটি খসড়ার বৈশিষ্ট্যগুলির একটি তালিকা যা ES2026-এ হতে পারে।

Temporal API

জাভাস্ক্রিট 2026-এ টেম্পোরাল API তারিখ এবং সময়ের সাথে কাজ করার জন্য স্ট্যান্ডার্ড অবজেক্ট এবং ফাংশন প্রদান করে।

ES2026 সাল থেকে, টেম্পোরাল API হল জাভাস্ক্রিপ্টে আধুনিক তারিখ এবং সময় ব্যবস্থাপনার জন্য আদর্শ, যা ঐতিহ্যগত তারিখ অবজেক্টকে প্রতিস্থাপন করার জন্য ডিজাইন করা হয়েছে।

তারিখের বিপরীতে, টেম্পোরাল বস্তুগুলি অপরিবর্তনীয় এবং সময় অঞ্চল এবং নন-গ্রেগরিয়ান ক্যালেন্ডারের জন্য প্রথম-শ্রেণীর সমর্থন প্রদান করে।

ব্যবহার করে সম্পদ ব্যবস্থাপনা

JavaScript 2026 স্বয়ংক্রিয়ভাবে সম্পদ (যেমন ফাইল হ্যান্ডেল বা ডাটাবেস সংযোগ) পরিচালনা করতে এবং সুযোগের বাইরে গেলে সেগুলিকে নিষ্পত্তি করার জন্য দুটি কীওয়ার্ড যুক্ত করেছে, স্পষ্টভাবে চেষ্টা করার প্রয়োজনীয়তা হ্রাস করে...অবশেষে ব্লক করে।

Error.isError() দিয়ে ত্রুটি সনাক্তকরণ

Error.isError()একটি মান একটি ত্রুটি বস্তু কিনা তা নির্ভরযোগ্যভাবে পরীক্ষা করার একটি আদর্শ পদ্ধতি, ত্রুটি পরিচালনা এবং ডিবাগিং উন্নত করা।

Array.fromAsync() সহ নতুন অ্যারে

Array.fromAsync()একটি বৈশিষ্ট্য যা ডেভেলপারদের অ্যাসিঙ্ক্রোনাস রিটার্নেবল, অ্যারের মতো বস্তু বা প্রতিশ্রুতি থেকে নতুন অ্যারে দৃষ্টান্ত তৈরি করতে দেয়, অ্যাসিঙ্ক্রোনাস উত্স থেকে ডেটা পরিচালনাকে মসৃণ করে।

ES2026 এ নতুন Uint8Array পদ্ধতি

Uint8Array-এর জন্য বেস64 এবং হেক্সাডেসিমেল এনকোডিং।

এই নতুন স্ট্যাটিক পদ্ধতিগুলি Uint8Array অবজেক্ট এবং Base64 বা হেক্সাডেসিমেল স্ট্রিংগুলির মধ্যে সরাসরি রূপান্তর যোগ করে বাইনারি ডেটার সাথে কাজ করা সহজ করে।

পদ্ধতি ব্যাখ্যা
Uint8Array.fromBase64() একটি base64-এনকোডেড স্ট্রিং থেকে একটি Uint8Array অবজেক্ট তৈরি করে
Uint8Array.toBase64() একটি int8Array-এ ডেটা থেকে একটি base64-এনকোডেড স্ট্রিং প্রদান করে
Uint8Array.fromHex() একটি হেক্সাডেসিমেল স্ট্রিং থেকে একটি Uint8Array অবজেক্ট তৈরি করে
Uint8Array.toHex() একটি int8Array-এ ডেটা থেকে একটি হেক্স-এনকোডেড স্ট্রিং ফেরত দেয়

স্বচ্ছ সম্পদ ব্যবস্থাপনা

কীওয়ার্ড ব্যবহার করে

usingকীওয়ার্ড হল জাভাস্ক্রিপ্ট 2026-এর একটি সংযোজন। এটি সংস্থানগুলি পরিচালনা করার জন্য একটি প্রক্রিয়া প্রদান করে যার জন্য সুস্পষ্ট নিষ্পত্তি প্রয়োজন।

এটি একটি মডিউল-স্কোপড পরিবর্তনশীল ঘোষণা করে,constঅনুরূপ, কিন্তু ভিন্ন যে এটি ব্যবহৃত সম্পদের ডিসিঙ্ক্রোনাইজেশন গ্যারান্টি দেয় যখন ভেরিয়েবল সুযোগের বাইরে চলে যায়।

উদাহরণ

class MyResource {
  constructor(name) {
    this.name = name;
    myDisplay(`Resource ${this.name} acquired.`);
  }
  [Symbol.dispose]() {
    myDisplay(`Resource ${this.name} disposed.`);
  }
}

function manageResource() {
  using resource = new MyResource("Database Connection");

  // Use the resource here
  myDisplay(`Using resource: ${resource.name}`);
}

usingকীওয়ার্ডটি স্বয়ংক্রিয়ভাবে ক্লিনআপ প্রক্রিয়া পরিচালনা করে, রিসোর্স ফাঁসের ঝুঁকি হ্রাস করে এবং ম্যানুয়াল চেষ্টার তুলনায় কোড পঠনযোগ্যতা উন্নত করে সম্পদ ব্যবস্থাপনাকে সহজ করে... অবশেষে ব্লক করে।

📌সম্পদ ব্যবস্থাপনা:

  • using Symbol.dispose , .
  • ডিসিক্রোনাইজেশন: usingযখন ঘোষিত একটি ভেরিয়েবল তার সুযোগ থেকে বেরিয়ে আসে (একটি ব্লক বা ফাংশনের শেষে), তখন এর Symbol.dispose পদ্ধতি স্বয়ংক্রিয়ভাবে বলা হয়।
  • অ্যাসিঙ্ক্রোনাস অপসারণ:অ্যাসিঙ্ক্রোনাস ক্লিনআপ প্রয়োজন এমন সংস্থানগুলির জন্য,await usingনোটিশ ব্যবহার করা যেতে পারে. এটি নিশ্চিত করে যে পরিবর্তনশীলটি সম্পূর্ণরূপে সুযোগের বাইরে যাওয়ার আগে অপসারণ প্রক্রিয়াটি অপেক্ষা করে।
  • মডিউল-উদ্দেশ্য: constমতusingসাথে ঘোষিত ভেরিয়েবলগুলি যে মডিউলে ঘোষণা করা হয়েছে তার স্থানীয়, এবং ঘোষণার সময় অবশ্যই শুরু করতে হবে।
  • অপরিবর্তনীয়: constজন্য হিসাবেusingসাথে ঘোষিত ভেরিয়েবলগুলি আরম্ভ করার পরে পুনরায় বরাদ্দ করা যাবে না।

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
134 134 141 119
মার্চ 2025 মার্চ 2025 জুলাই 2025 মে 2025

স্বচ্ছ সম্পদ ব্যবস্থাপনা

await using

অন্যান্য ভাষা দ্বারা অনুপ্রাণিত, জাভাস্ক্রিপ্ট 2026 ফাইল হ্যান্ডেল, ডাটাবেস সংযোগ বা নেটওয়ার্ক স্ট্রীমের মতো সংস্থানগুলি স্বয়ংক্রিয়ভাবে পরিষ্কার করার জন্য।usingমডিউল প্রবর্তন.

এটি অ্যাসিঙ্ক্রোনাস অপারেশনের জন্য বিশেষভাবে কার্যকর:

উদাহরণ

async function processFile() {
  using fileHandle = await openFile('data.txt');

  // Work with fileHandle here

} // fileHandle is automatically closed here

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
134 134 141 119
মার্চ 2025 মার্চ 2025 জুলাই 2025 মে 2025

Error.isError()

Error.isError()স্ট্যাটিক পদ্ধতি একটি মান একটি ত্রুটি বস্তু কিনা তা পরীক্ষা করে।

উদাহরণ

Error.isError(new TypeError()); // true
Error.isError({ name: "Error" }); // false

Error.isError()হয়instanceof Errorএকটি নিরাপদ বিকল্প, যা রাজ্য জুড়ে ব্যর্থ হয়।

এলাকা-নিরাপদ ত্রুটি পরীক্ষা করা হচ্ছে:একটি iframe থেকে একটি ত্রুটিError.isError()এবং সঙ্গে চেক করা হয়instanceofসঙ্গে ব্যর্থ হয়

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
134 134 138 119
মার্চ 2025 মার্চ 2025 এপ্রিল 2025 মে 2025

Array.fromAsync()

উদাহরণ

async function* asyncGenerator() {
  yield Promise.resolve(1);
  yield Promise.resolve(2);
  yield Promise.resolve(3);
}

async function processAsyncData() {
  const arr = await Array.fromAsync(asyncGenerator());
}

processAsyncData();

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
121 121 115 16.4
জানুয়ারী 2024 জানুয়ারী 2024 জুলাই 2023 মে 2023

Uint8Array to/fromBase64()

উদাহরণ

let string = 'W3Schools 123';

const arr = Uint8Array.fromBase64(string);
const arr = new Uint8Array([91,116,156,134,138,37,179,93,183]);

let text = arr.toBase64();

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
140 140 133 18.2
সেপ্টেম্বর 2025 সেপ্টেম্বর 2025 নভেম্বর 2024 ডিসেম্বর 2024

Uint8Array to/fromHex()

উদাহরণ

let text = '5b749c868a25b35db7';

const arr = Uint8Array.fromHex(text);
const arr = new Uint8Array([91,116,156,134,138,37,179,93,183]);

let text = arr.toHex();

ব্রাউজার সমর্থন

Chrome Edge Firefox Safari Opera
140 140 133 18.2
সেপ্টেম্বর 2025 সেপ্টেম্বর 2025 নভেম্বর 2024 ডিসেম্বর 2024

ECMAScript 2026 টিউটোরিয়াল

এই টিউটোরিয়ালটি আপনাকে ECMAScript 2026 নতুন বৈশিষ্ট্য সম্পর্কে আপনার জ্ঞান পরীক্ষা করতে সাহায্য করবে।

ECMAScript 2026-এ প্রবর্তিত নিম্নলিখিত বৈশিষ্ট্যগুলির মধ্যে কোনটি ফাইল হ্যান্ডেল বা ডাটাবেস সংযোগের মতো সংস্থানগুলি স্বয়ংক্রিয়ভাবে পরিচালনা করার জন্য ডিজাইন করা হয়েছে?

Temporal API
✗ ভুল! টেম্পোরাল API তারিখ এবং সময় ব্যবস্থাপনার জন্য ডিজাইন করা হয়েছে, রিসোর্স ম্যানেজমেন্ট নয়
Error.isError()
✗ ভুল! Error.isError() ত্রুটি সনাক্তকরণ এবং যাচাইকরণের জন্য ডিজাইন করা হয়েছে, সম্পদ ব্যবস্থাপনা নয়
ব্যবহার করে এবং ব্যবহারের জন্য অপেক্ষা করুন
✓ ঠিক আছে! রিসোর্স ম্যানেজমেন্টকে স্বয়ংক্রিয় এবং সুরক্ষিত করতে ECMAScript 2026-এ কীওয়ার্ড ব্যবহার করা এবং অপেক্ষা করা প্রবর্তন করা হয়েছে।
Array.fromAsync()
✗ ভুল! Array.fromAsync() অ্যাসিঙ্ক্রোনাস সোর্স থেকে অ্যারে তৈরি করার জন্য ডিজাইন করা হয়েছে, রিসোর্স ম্যানেজমেন্টের জন্য নয়